package com.codedancer.campus.manager.service;

import com.codedancer.campus.manager.service.bo.menu.MenuAddOrUpdateBo;
import com.codedancer.campus.manager.service.vo.menu.MenuVO;
import java.util.List;

public interface IMenuService {

    /**
     * 添加菜单
     * @param menuAddOrUpdateBo
     */
    void add(MenuAddOrUpdateBo menuAddOrUpdateBo);

    /**
     * 根据父级uuid获取下级菜单
     * @param parentUuid
     * @return
     */
    List<MenuVO> listByParentUuid(String parentUuid);

    /**
     * 添加子集菜单
     *
     * @param menuAddOrUpdateBo
     * @return
     */
    MenuVO addChildren(MenuAddOrUpdateBo menuAddOrUpdateBo);

    /**
     * 删除菜单
     * @param uuid
     */
    void delete(String uuid);

    /**
     * 修改菜单
     * @param menuAddOrUpdateBo
     */
    void update(MenuAddOrUpdateBo menuAddOrUpdateBo);

    /**
     * 上移
     * @param uuid
     */
    void moveUp(String uuid);

    /**
     * 下移
     * @param uuid
     */
    void moveDown(String uuid);
}
